package main

import "fmt"

/*
1、map增加和更新
map["key"]=value //如果key还没有，就是增加，如果key存在就是修改
2、map删除
说明：
delete(map,"key")，delete是一个内置函数，如果key存在，就删除该key-value，如果key不存在，不操作，但是也不会报错
细节说明：
(1)如果要删除map的所有key，没有一个专门的方法一次性删除，可以遍历一下key，逐个删除
(2)或者map = make(...)，make一个新的，让原来的成为垃圾，被gc回收
3、map查找
*/
func main() {
	a := make(map[string]string)
	a["no1"] = "武汉"
	a["no2"] = "湖北"

	//删除
	delete(a, "no1")
	delete(a, "no4") //不报错
	fmt.Println(a)

	//全部删除
	a = make(map[string]string)
	fmt.Println(a)

	//map查找
	b := make(map[string]string)
	b["no1"] = "猪猪"
	val, ok := b["no1"]
	fmt.Println(ok) //true
	if ok {
		fmt.Printf("有no1，key值为%v\n", val)
	} else {
		fmt.Printf("没有no1 key\n")
	}
}
